<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div>
        <!-- <a href="javascript:;">刷新</a> -->
        <a href="https://www.baidu.com">百度</a>
    </div>
    <form action="https://www.baidu.com">
        <p>
            <label for="">用户名:</label>
            <input type="text" name="user">
        </p>
        <p>
            <label for="">密&emsp;码:</label>
            <input type="text" name="pwd">
        </p>
        <p>
            <input type="submit" value="提交">
        </p>
    </form>
</body>
<script>
    // 浏览器默认行为
    // (1) a标签默认跳转(跳自己 => 刷新)
    // (2) form默认提交(提交自己 => 刷新)
    // (3) F5 默认刷新
    // (4) ctrl+c  ctrl + v
    // (5) 鼠标右键 -> 菜单


    // 阻止浏览器默认行为
    // (1) a标签默认跳转(跳自己 => 刷新)
    //      a. <a href="javascript:;">刷新</a>
    // (2) form默认提交(提交自己 => 刷新)
    // (3) F5 默认刷新
    // (4) ctrl+c  ctrl + v
    // (5) 鼠标右键 -> 菜单

    var a = document.getElementsByTagName("a")[0];
    var form = document.getElementsByTagName("form")[0];

    a.onclick = function (e) {
        console.log(1111, e);

        // 阻止浏览器默认行为

        // 常规浏览器(高版本IE)
        // e.preventDefault(); //方法

        // 低版本IE
        // e.returnValue = false;  // 等价于 return false

        // 兼容:
        if (e.preventDefault) {
            e.preventDefault();
        } else {
            e.returnValue = false;
        }

        // return false;  // 此写法return之后的语句不执行

        console.log(2222);

    }


    // (2) 阻止form默认提交(提交自己 => 刷新)
    // form.onsubmit = function(){
    //     return false;
    // }

    // form.onsubmit = function(e){
    //     if(e.preventDefault){
    //         e.preventDefault(); 
    //     }else{
    //         e.returnValue = false; 
    //     }
    // }

    // (3) 阻止F5刷新

    /* document.onkeydown = function(e){
        var keyCode = e.keyCode;
        console.log(e.key,keyCode);

        if(keyCode == 116 || keyCode == 123){ // F5   F12
            return false;
        }else if(e.ctrlKey && keyCode == 67){ // ctrl + c  => 按键方面阻止
            return false;
        }else if(e.ctrlKey && keyCode == 86){ // ctrl + v  => 按键方面阻止
            return false;
        }

        // 阻止所有按键
        // return false;
    } */


    // 阻止复制和粘贴 (功能方面)

    document.oncopy = function(e){
        console.log("复制");
        if(e.preventDefault){
            e.preventDefault(); 
        }else{
            e.returnValue = false; 
        }
    }


    document.onpaste = function(e){
        console.log("粘贴");
        if(e.preventDefault){
            e.preventDefault(); 
        }else{
            e.returnValue = false; 
        }
    }



    // 阻止鼠标右键菜单
    document.oncontextmenu = function (e) {
        console.log("鼠标右键菜单",e);
        if (e.preventDefault) {
            e.preventDefault();
        } else {
            e.returnValue = false;
        }
    }




</script>

</html>